import java.util.Collection;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class Test1 {
    public static void main(String[] args) {
        Map<String,Integer> map=new TreeMap<>();
        //往里面放数据，以二叉搜索树的形式放
        map.put("hello",2); //这组数据是键值对形式
        map.put("word",3);
        //通过get方法，传入键，可以得到值
        Integer ret=map.get("hello"); //得到结果2
        System.out.println(ret);
        Integer ret1=map.get("hi");//得到的结果null
        System.out.println(ret1);
        Integer ret2=map.getOrDefault("hi",25); //调用getOrDefault方法，把键传进去，如果传入的键，在map中已经插入了(已经存在)，则得到对应的值对
        //如果传入的键在map中不存在，则得到的是我传入的默认值->defaultValue
        System.out.println(ret2);
        //删除key
//        map.remove("hello");
        Integer ret4=map.getOrDefault("hello",999);
        System.out.println(ret4);
       Set<String> set=map.keySet(); //将所有的key值保存到set中
        System.out.println(set);
       Collection<Integer> val=map.values();//将所有的value值保存到val中
        System.out.println(val);
        //值是否包含在map中
        boolean flg=map.containsKey("hello"); //false,因为之前调用remove方法将hello删除了
        System.out.println(flg);
        boolean flg2=map.containsValue(3);
        System.out.println(flg2);
        //将所有的键值对保存到setVal中
     Set<Map.Entry<String,Integer>> setVal= map.entrySet();
        for (Map.Entry<String,Integer> entry: setVal ) {
            System.out.println("key:"+entry.getKey()+ " "+"val:"+entry.getValue());
        }
    }
}